﻿using System.Threading.Tasks;
using System.Xml;
using Kugar.Core.BaseStruct;

namespace Kugar.Web.Wechat
{
    public interface IWechatPayHandler
    {
        Task<(string appID, string appSerect, string payKey, string mchID)> WechatPayGetter(string appID);

        Task<ResultReturn> OnPaySuccessNotify(string appID, string mchID, string openID, decimal amount, string orderCode,
            string transaction_id, string state);

        Task<ResultReturn> OnPayFailNotify(string errorMsg,XmlDocument xmlDoc);

        Task OnNotifyLog(XmlDocument xmlDoc);

        /*public event PaySuccessNotifyHandler PaySuccessNotify;
public event PayFailNotifyHandler PayFailNotify;
public event PayKeyRequestHandler RequestPayKey;
public event PayNotyfyLog NotifyLog;*/
    }
}